#ifndef __G_IGAME_H__
#define __G_IGAME_H__

#include "Define.h"

class IGame
{
protected:
	FWuint _iWidth;
	FWuint _iHeight;

	FWboolean m_bIsActived;
	FWboolean m_bIsPaused;
protected:
	//Game destroy method: Destrpoy/Release game data
	virtual void Destroy();
public:
	//Game update method: Calculate translate
	virtual void Update(FWfloat) = 0;
	//Game draw method: Render game data
	virtual void Draw() = 0;
public:
	//Game initialize method: Init game setting
	virtual FWint Init(FWuint id, FWuint iWidth, FWuint iHeight, char * szTitle, FWuint iFlags);
	//Game start method: Start game and send message start to device
	virtual void Start();
	//Game end method: End game and send message to device
	virtual void End();
	//Game pause method: Pause game
	virtual void Pause();
	//Game resume method: Resume game
	virtual void Resume();
};

#endif